package cn.b.sky.i18n.service;

import cn.b.sky.i18n.model.LocaleResource;
import cn.b.sky.i18n.model.condition.LocaleResourceCondition;

import java.util.List;


public interface LocaleResourceService {

  /**
   * <strong>Title : selectLocaleResourceByCondition<br></strong>
   * <strong>Description : </strong>本地化资源列表<br> 
   * <strong>Create on : 2016-5-11 下午4:51:28<br></strong>
   * <p>
   * @param condition
   * @return
   * List<LocaleResourceInfo>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<LocaleResource> selectLocaleResourceByCondition(LocaleResourceCondition condition);

  /**
   * <strong>Title : selectLocaleResourceCountByCondition<br></strong>
   * <strong>Description : </strong>本地化资源列表查询行数<br> 
   * <strong>Create on : 2016-5-11 下午5:51:57<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectLocaleResourceCountByCondition(LocaleResourceCondition condition);

  /**
   * <strong>Title : SaveLocaleResource<br></strong>
   * <strong>Description : </strong>添加本地化资源<br> 
   * <strong>Create on : 2016-5-12 下午8:13:07<br></strong>
   * <p>
   * @param localeResource
   * @param languageCode 当前语言代码
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertLocaleResource(LocaleResource localeResource, String languageCode);

  /**
   * <strong>Title : selectLocaleResourceByKey<br></strong>
   * <strong>Description : </strong>根据KEY查询本地化资源<br> 
   * <strong>Create on : 2016-5-16 上午9:24:01<br></strong>
   * <p>
   * @param resourceKey
   * @return
   * LocaleResource
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  LocaleResource selectLocaleResourceByKey(String resourceSet, String resourceKey, String siteCode);

  /**
   * 
   * <strong>Title : saveLocaleResource<br></strong>
   * <strong>Description : </strong>修改本地化资源<br> 
   * <strong>Create on : 2016-5-16 下午1:24:14<br></strong>
   * <p>
   * @param localeResource
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateLocaleResource(LocaleResource localeResource);

  /**
   * <strong>Title : CheckLocaleResourceByKey<br></strong>
   * <strong>Description : </strong>根据key查询存在记录数<br> 
   * <strong>Create on : 2016-5-16 下午2:45:19<br></strong>
   * <p>
   * @param localeResource
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int checkLocaleResourceByKey(LocaleResource localeResource);

  /**
   * 
   * <strong>Title : deleteLocaleResourceByKey<br></strong>
   * <strong>Description : </strong>删除本地话资源<br> 
   * <strong>Create on : 2016-6-24 上午10:24:57<br></strong>
   * <p>
   * @param resourceSet
   * @param resourceKey
   * @param siteCode
   * @return
   * String
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  String deleteLocaleResourceByKey(String resourceSet, String resourceKey, String siteCode);

  /**
   * 
   * <strong>Title : flushResouceCache<br></strong>
   * <strong>Description : </strong>刷新当前工厂国际化资源包的<br> 
   * <strong>Create on : 2017-1-10 下午5:52:47<br></strong>
   * <p>
   * @param siteCode
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void flushResouceCache(String siteCode);
}
